package org.rslai.tcedit.business.impl;

import java.util.List;
import org.rslai.tcedit.business.VersionService;
import org.rslai.tcedit.domain.Page;
import org.rslai.tcedit.domain.Product;
import org.rslai.tcedit.domain.Version;
import org.rslai.tcedit.exception.ApplicationException;

/**
 * VersionService 接口的实现<br/>
 * 注意: <tx:annotation-driven /> 这些方法已支持事务
 * 
 * @author rslai
 * 
 * @spring.bean id="versionService"
 */
public class VersionServiceImpl extends AbstractBaseService implements VersionService {

	public void create(String productID, Version version) {
		if (productID.equals("")) {
			throw new ApplicationException("未选择需要添加版本的产品，请先选择一个产品。");
		}
		Product product = productDao.query(productID);
		version.setProduct(product);
		versionDao.create(version);
		product.getVersions().add(version);
		productDao.update(product);
	}

	public List<Version> query(boolean asc) {
		return versionDao.query(asc);
	}

	public List<Version> query(String productID, Page page, String name, boolean asc) {
		return versionDao.query(productID, page, name, asc);
	}

}
